Chat bot utilizing metaphors to both relay and obtain information

ABSTRACT

Techniques to enable a chat bot system to use metaphors during an interaction with a user are provided. Identification information for the user can be received and can be used to determine a customer group assigned to the user. An initial state of a sequence for resolving an issue of the user can be determined, with the sequence for resolving the issue of the user including a final state wherein the issue of the user is resolved. A metaphor can be selected to include in a question based on the determined customer group assigned to the customer and the determined initial state of the sequence for resolving the issue of the customer. The question can request information from the user relating to the issue of the user. The question can be generated to include the selected metaphor and then provided to the user with a prompt to provide a response.

RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.16/270,587, filed Feb. 7, 2019, titled “CHAT BOT UTILIZING METAPHORS TOBOTH RELAY AND OBTAIN INFORMATION”. The contents of the aforementionedapplication are incorporated herein by reference in their entirety.

TECHNICAL FIELD

Embodiments described herein generally relate to chat bot systems.

BACKGROUND

Conventional chat bot systems can conveniently interact with a user toaddress an issue of the user. However, many conventional chat botsystems come across as robotic and non-human. Users that interact withthese conventional chat bot systems find them unrelatable and difficultto understand at times. As a result, these conventional chat bot systemsare often poor at extracting information from a user to effectivelyaddress the issue of the user.

Accordingly, there is a need for a chat bot system that interacts withusers more naturally in a more relatable manner to spur a user to morefreely and effectively share information with the chat bot system tobetter address an issue of the user.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an operating environment.

FIG. 2 illustrates a first message generated by the chat bot systemdepicted in FIG. 1.

FIG. 3 illustrates a second message generated by the chat bot systemdepicted in FIG. 1.

FIG. 4 illustrates a state diagram representing an interaction between auser and the chat bot system depicted in FIG. 1.

FIG. 5 illustrates a table for storing metaphors used by the chat botsystem depicted in

FIG. 1.

FIG. 6 illustrates a first logic flow.

FIG. 7 illustrates a second logic flow.

FIG. 8 illustrates a storage medium.

FIG. 9 illustrates a computing architecture.

FIG. 10 illustrates a communication architecture.

DETAILED DESCRIPTION

This disclosure presents various systems, components, and methodsrelated to providing more natural and more efficient chat bot systems.Each of the systems, components, and methods disclosed herein providesone or more advantages over conventional systems, components, andmethods.

Various embodiments include techniques to enable a chat bot system touse metaphors during an interaction with a user to provide and receiveinformation in a more relatable and efficient manner. Identificationinformation for the user can be received and can be used to determine acustomer group assigned to the user. An initial state of a sequence forresolving an issue of the user can be determined, with the sequence forresolving the issue of the user including a final state wherein theissue of the user is resolved. A metaphor can be selected to include ina question based on the determined customer group assigned to thecustomer and the determined initial state of the sequence for resolvingthe issue of the customer. The question can request information from theuser relating to the issue of the user. The question can then begenerated to include the selected metaphor and then provided to theuser. The user can subsequently be prompted to provide a response. Otherembodiments are disclosed and described.

FIG. 1 illustrates an operating environment 100 such as may berepresentative of various embodiments in which a chat bot utilizingmetaphors to interact with a user may be implemented. The operatingenvironment 100 can include a user or customer 102, a first device 104,and a second device 106. In various embodiments, the first device 104can be a local device that can be a handheld device (e.g., held by theuser 102). In various embodiments, the second device 106 can operate toprovide a chat bot system or service. The chat bot service provided bythe second device 106 can conduct a conversation with the user 102 viaauditory or textual based interactions and can include a voiceinteraction system.

The first and second devices 104 and 106 can be part of the same deviceor can be portions of different (e.g., physically separated) devices. Invarious embodiments, the second device 106 can be located remote fromthe first device 104. For purposes of illustration and for ease ofexplanation only, the first device 104 will be referred to as a localdevice and the second device 106 will be referred to as a chat botsystem with the understanding that the local device 104 can be part ofthe chat bot system 106.

In various embodiments, the local device 104 can include a microphone108, a speaker 110, a display 112, and one or more input devices 120. Invarious embodiments, the display 112 can be a touchscreen. Themicrophone 108 can receive audible data or information including spokenor verbalized speech 114 of the user 102. The one or more input devices120 can include a keyboard for receiving typed data or information fromthe user 102. The local device 104 can be any type of computing deviceincluding, for example, a desktop computer, a laptop computer, a tablet,a mobile computing device, a smartphone, a set-top box, a remote (e.g.,a television remote), or any other type of device capable of receivingthe speech 114 of the user 102 or textual data from the user 102. Thelocal device 104 can include additional components not shown in FIG. 1.

The chat bot system 106 can include a controller component 116 and astorage device 118. The controller component 116 can be implemented insoftware, hardware, or any combination thereof. The controller component116 can be a processor and/or can include logic for implementing thetechniques and/or features described herein. The storage device 118 canbe any type of memory storage device.

The chat bot system 106 can receive the speech information 114 from theuser 102, can process the speech information 114 to determine what wasspoken by the user 102, and can respond to the user 102. The chat botsystem 106 can also receive textual information from the user 102provided through the local device 104, can process the textualinformation to determine what was conveyed by the user, and can respondto the user 102. In various embodiments, the chat bot system 106 candirect the local device 104 to provide audible information back to theuser 102 (e.g., by way of the speaker 110) and/or visual information(e.g., textual) back to the user 102 (e.g., by way of the display 112).In general, the user 102 may interact with the chat bot system 106 torequest help on an issue such as, for example, any type of customerservice issue related to a product or service.

In various embodiments, the local device 104 can receive and store thespeech 114 of the user 102 and can provide the stored speech to the chatbot system 106. In various embodiments, the local device 104 can receiveand store textual information from the user 102 and can provide thestored textual information to the chat bot system 106. In variousembodiments, the local device 104 can include its own controllercomponent and storage device (not shown for simplicity) or can includethe controller component 116 and/or the storage device 118 as part ofthe local device 104 (e.g., to form a combined local device 104-chat botsystem 106).

In various embodiments, when the local device 104 and the chat botsystem 106 are located remotely from one another, the local device 104and the chat bot system 106 can communicate and/or share any data orinformation over a communication link. The data can be any type of dataincluding voice data and/or textual data. The communication link cancomprise one more computer networks or links. The communication link caninclude, for example, one or more wireless communication systems thatoperate according to one or more wireless communication standards orprotocols over any frequency band or range. The communication link caninclude, for example, one or more wired communication systems thatoperate according to one or more wired communication standards orprotocols over any type of wired media. The local device 104 and thechat bot system 106 can communicate according to any computer networkprotocol including any Internet-related communication protocol tofacilitate the sharing of any type of data between the local device 104and the chat bot system 106.

The chat bot system 106—either including or not including a portion ofthe local device 104—can receive audio data and/or textual data from theuser 102. The audio data can include the speech 114 of the user 102. Invarious embodiments, the audio data and/or textual data from the user102 can relate to an issue of the user 102. For example, the issue canrelate to a customer service issue or question of the user 102 includingissues relating to operation of a device or service. As an example, theaudio data and/or textual data of the user 102 can relate to a questionor problem the user 102 has regarding an internet service provided tothe user 102. The chat bot system 106 can be a system and/or serviceprovided to the user 102 for responding to customer service issues ofthe user 102 including troubleshooting issues for any product or serviceprovided to the user 102.

The chat bot system 106 can operate to conduct a conversation with theuser 102. The chat bot system 106 can operate to interact with the user102 to understand the issue or problem of the user 102, collectadditional information from the user 102, and to attempt to resolve theissue or problem of the user 102. To provide a more naturalconversational interaction with the user 102 and to more efficientlydiscern the issue or problem of the user 102 as well as resolve theissue or problem of the user 102 more effectively, the chat bot system106 can use metaphors to relay information to the user 102 and to obtaininformation from the user 102. In various embodiments, the chat botsystem 106 can use a metaphor in place of a predetermined phrase or wordor other portion of a menu system to convey and receive information fromthe user 102 in a more natural and therefore more efficient manner asdisclosed herein.

In various embodiments, the user 102 can initiate interaction with thechat bot system 106. The user 102 can initiate interaction with the chatbot system 106 by engaging the local device 104—for example, bytextually entering information into the local device 104 or speaking tothe local device 104. The local device 104 can store any receivedaudible or textual information from the user 102 and can provide thestored data to the chat bot system 106. The chat bot system 106 canreceive the initial information from the user 102. In variousembodiments, the chat bot system 106 can determine that the user 102 isexperiencing an issue that the user 102 would like help from the chatbot system 106 to resolve.

In various embodiments, to address the issue of the user 102, the chatbot system 106 can first receive identification information for theuser. The identification information can be provided by the user 102through a computer interface provided by the local device 104. Invarious embodiments, the identification information can be prestored bythe local device 104 and/or correlated or related to the local device104.

After the user 102 is identified, the chat bot system can determine acustomer group assigned to the user 102 based on the received useridentification information. The storage device 118 of the chat botsystem 106 can store an assigned customer group for each possible userthat may interact with the chat bot system 106. Information related toeach customer group can be stored in the storage device 118. One or moreusers can be assigned to a specific customer group. Informationregarding each customer group can be stored in the storage device 118.The customer groups can include users with similar backgrounds,education levels, familiarity or comfort with the device or service towhich the chat bot system 106 may relate, and/or other demographicinformation.

By assigning users to a customer group, including the user 102, the chatbot system 106 can group related users so that the chat bot system 106can interact with related users in the same manner. For example, thechat bot system 106 can interact with a first set of users assigned to afirst customer group in a first manner while interacting with a secondset of users assigned to a second customer group in a second differentmanner. The manner in which the chat bot system 106 may interact withthe customer groups can vary, for instance, by a set of provided menuoptions, a sequence in which the options are provided, and the use ofmetaphors used to relay and obtain information. For example, the chatbot system 106 may use certain metaphors with the first customer groupand may use different metaphors with the second customer group, withboth different sets of metaphors intended to enhance interaction witheach customer group (e.g., by more effectively conveying and receivinginformation from the users).

In various embodiments, the chat bot system 106 can model interactionwith the user 102 as a sequence of steps or states. In variousembodiments, the chat bot system 106 can model the interaction as havingan initial state, a final state, and one or more intermediate states.The overall sequence of states can involve determining a problem orissue of the user 102, collecting additional information from the user102 to better understand the issue and/or to guide the user 102 to asolution, and reaching a state where a satisfactory solution for theuser 102 is obtained. The initial state can be determined based on aninitial interaction with user 102 and can be any state along the modeledsequence. In general, the initial state can represent the user 102attempting to covey the issue or problem to the chat bot system 106 ormay simply be the user 102 initializing contact with the chat bot system106 without stating the issue to be addressed. The final state canrepresent resolving the issue of the user 102. The one or moreintermediate states can represent states that sequentially advance tothe final state through interaction between the user 102 and the chatbot system 106.

In various embodiments, the chat bot system 106 can interact with theuser 102 to sequentially advance the resolution of the issue of the userfrom a determined initial problem state to the final state by collectinginformation from the user 102 and/or providing information orinstructions to the user 102. In this way, the resolution of the problemcan advance through the one or more intermediate states towards thefinal state. Information can be collected by the chat bot system 106 byasking the user 102 questions related to the issue. The questions askedby the chat bot system 106 to the user 102—for example, for anydetermined state relating to a sequence for resolving the issue of theuser 102—can be based on a number of inputs including, for example, theissue of the user 102, the current state of the resolution sequence, andthe customer group assigned to the user 102.

In various embodiments, in order to advance the resolution of the issuefor the user 102, the chat bot system 106 can use one or more metaphorswithin a question posed to the user 102 or within any other statementprovided to the user 102. The metaphor can be selected to increase alikelihood of receiving information from the user 102 that enables thechat bot system 106 to advance to a next state sequentially closer tothe final state (i.e., to further advance understanding of the issue anda possible solution).

To this end, in various embodiments, the chat bot system 106 cangenerate a question for the user 102 and can include the selectedmetaphor within the question. The chat bot system 106 can provide thegenerated question for presentation to the user 102 through the localdevice 104—for example, as audible information conveyed to the user 102though the speaker 110 or as textual information conveyed to the userthrough the display 112. The user 102 can respond to the presentedquestion and can include responsive information. The responsiveinformation can include information that allows the chat bot system 106to advance to a next state closer to the final state or can fail toinclude information that allows the chat bot system to advance to thenext closer state (e.g., the user 102 may fail to understand themetaphor and is unable to respond such that the resolution sequenceremains in the same or current state). This sequence of interaction canbe repeated to sequentially advance the resolution sequence for the user102 to the final state.

In various embodiments, the chat bot system 106 can track and rate thesuccessfulness of using a particular metaphor. For example, eachmetaphor that can be used by the chat bot system 106 can be associatedwith a value representing a likelihood that the metaphor will prompt theuser 102 to respond with information that enables the chat bot system106 to advance the sequence for resolving the issue of the user 102. Invarious embodiments, the likelihood value can vary by customer group,the current state of the sequence for resolving the issue, and theparticular problem of the user 102. The chat bot system 106 can selectfrom any number of stored metaphors. In various embodiments, the chatbot system 106 can select the metaphor having the highest likelihoodvalue associated with it.

If the use of a metaphor results in information that enables the chatbot system 106 to advance the resolution of the issue of the user 102,then the chat bot system 106 can store information indicating successfuluse of the metaphor and/or can increase the stored likelihood valuecorresponding to the metaphor. If the use of a metaphor does not resultin information that enables the chat bot system 106 to advance theresolution of the issue of the user 102, then the chat bot system 106can store information indicating the unsuccessful use of the metaphorand/or can decrease the stored likelihood value corresponding to themetaphor. In this manner, the chat bot system 106 can dynamically learnwhich metaphors are more successful for certain situations (e.g.,problem resolution states) and which are less successful for future use.

FIG. 2 illustrates a first example message 200 generated by the chat botsystem 106 for presentation to the user 102. The first example message200 can be generated by the chat bot system 106 for presentation as atextual message or an audible message for the user 102. The firstexample message 200 can be provided to the user 102 through the userinterface provided by the local device 104.

The first example message 200 can represent an instance where a questionis presented to the user 102 without the use of a selected metaphor bythe chat bot system 106. Many users may find the example message 200overly complex and unrelatable.

FIG. 3 illustrates a second example message 300 generated by the chatbot system 106 for presentation to the user 102. The second examplemessage 300 can be generated by the chat bot system 106 for presentationas a textual message or an audible message for the user 102. The secondexample message 300 can be provided to the user 102 through the userinterface provided by the local device 104.

The second example message 300 can be presented to the user 102 in lieuof the first example message 200. The second example message 300 canrepresent an instance where a question is presented to the user 102 withthe use of a selected metaphor 302 by the chat bot system 106. Byincluding the metaphor 302 within the message 300, many users may bemore likely to provide more useful information for resolving the issueof the user 102 as the metaphor is simple and relatable.

FIG. 4 illustrates a simplified state diagram 400 representing aninteraction of the chat bot system 106 and the user 102. The statediagram 400 can represent different possible states that can occur asthe chat bot system 106 interacts with the user 102 to address the issueof the user. As shown in FIG. 4, an initial state 402 can represent theinitial state of the interaction between the chat bot system 106 and theuser 102. The initial state 402 can represent, for example, whencommunication between the chat bot system 106 and the user 102 is firstestablished and prior to the user 102 stating the problem for which theuser 102 is seeking help. In other embodiments, the user 102 can statethe problem of the user 102 in the initial state 402.

FIG. 4 further illustrates a first intermediate state 404, a secondintermediate state 406, and a final state 408, with the understandingthat additional intermediate states (not shown in FIG. 4 for simplicity)can be represented between the first and second intermediate states 404and 406 and the final state 406. The final state 408 can represent theresolution of the issue of the user 102. The intermediate states (e.g.,the first and second intermediate states 404 and 406 and otherintermediate states not shown in FIG. 4) can represent the incrementaladvancement of the interaction between the chat bot system 106 and theuser 102 towards the final state 408. These intermediate states canrepresent interactions for which the chat bot system 106 attempts tocollect or provide information regarding the issue of the user 102,collect or provide information regarding the status of any service ordevice related to the issue of the user 102, or any other step in asequence of resolving the issue of the user 102 that incrementaladvances the interaction to the final state 408.

In various embodiments, each step or state shown in the state diagram400 can represent a state where a certain amount of information relatedto the issue of the user is obtained by the chat bot system 106. Forexample, a state positioned sequentially closer to the final state 408can represent a state where more information related to the issue of theuser 102 is known in comparison to the amount of information known in astate positioned sequentially further from the final state 408. Theknown information can represent any information related to the issue ofthe user 102 including, for example, information to understand theproblem of the user 102, information regarding the status of the deviceor service related to the issue of the user 102, and/or any otherinformation that when provided to the chat bot system increases alikelihood of reaching the final state 408.

Any number of states can be represented in the state diagram 400. Anynumber of paths can be followed to advance from the initial state 402 tothe final state 408, with shorter paths (with fewer total states)representing more efficient problem resolution sequences and longerpaths (with more total states) representing less efficient problemresolution sequences. Any number of paths can lead to or from any state.In general, to efficiently resolve the issue of the user 102, it isdesirable for the chat bot system 106 to take the shortest path (e.g.,with the fewest intermediate states) from the initial state 406 to thefinal state 408. Techniques disclosed herein enable the chat bot system106 to relay and obtain information with the user 102 using metaphorssuch that transitions between problem resolution states can be made toadvance the sequence of problem resolution toward the final state 408.

As shown in FIG. 4, from the initial state 402, the interaction betweenthe chat bot system 106 and the user 102 can advance to either the firstintermediate state 404 or the second intermediate state 406. In variousembodiments, it may be desirable to advance to the first intermediatestate 404 over the second intermediate state 406. Accordingly, the chatbot system 106 may attempt to interact with the user 102—for example, byrequesting information from the user 102—to enable the sequence forresolving the issue of the user 102 to advance to the first intermediatestate 404.

To do so, in various embodiments, during the initial state 402 of theinteraction, the chat bot system 106 may receive identificationinformation for the user 102 and may look-up within the storage device118 the customer group assigned to the user 102. A number of options maybe provided to the chat bot system 106 during the initial state 402 ofthe interaction for advancing to the first intermediate state 404. Forexample, a number of questions or information to request can be storedin the storage device 118 and selected by the chat bot system 106 toprovide to the user 102. In various embodiments, the storage device 118may store one or more corresponding metaphors for the different possibleinteractions the chat bot system 106 can implement. The chat bot system106 can select one of the metaphors to use in a question to the user 102in an attempt to advance to the first intermediate state 404.

In various embodiment, the chat bot system 106 can select the use of ametaphor that has the highest likelihood for advancing to the firstintermediate state 404 based on the user 102, the customer groupassigned to the user 102, the issue of the user (if known), and/or thedetermined initial state 402. Therefore, in an attempt to advanceresolution of the issue of the user 102 to the first intermediate state404, the chat bot system 106 can generate a question for the user 102that includes use of the selected metaphor. The generated questionincluding the selected metaphor can then be provided to the user 102.The user 102 can then respond to the question.

If the user 102 relates well to the use of the selected metaphor in thequestion, then the user 102 may respond with information that enablesthe chat bot system 106 to advance resolution of the issue to the firstintermediate state 404 (e.g., the desired information to collect wasprovided by the user 102). If the user 102 fails to understand themetaphor or relate to its use, the user 102 may not respond withinformation that enables the chat bot system 106 to advance resolutionof the issue to the first intermediate state 404 (e.g., the user 102 maystate that they do not understand the posed question). As a result, thesequence for resolution may remain in the initial state 402. Anotherattempt by the chat bot system 106 to advance to the first intermediatestate 404 or any other state can then occur.

This process can be repeated as necessary or desired for the chat botsystem 106 to incrementally advance the sequence for resolving the issueof the user 102 toward the final state 408. For any attempt toincrementally advance the sequence for resolving the issue of the user102, the chat bot system 106 can determine whether or not to use ametaphor in an audible or textual interaction with the user 102 alongwith selecting which metaphor to use. Each determination by the chat botsystem 106 can be based on, for example, the customer group of the user102 and the current state of the sequence for resolving the issue.

The state diagram 400 can represent a visual depiction of the processundertaken by the chat bot system 106 to resolve the issue of the user102. In various embodiment, the state diagram 400 can represent a modelfor the process that can be undertaken by the chat bot system 106 toresolve the issue of the user 102. Accordingly, the state diagram 400can be a model having states stored in the storage device 118. Further,the state diagram 400 can vary for each customer or customer group. Invarious embodiments, the state diagram 400 can be implemented or canrepresent a Hidden Markov Model (HMM).

FIG. 5 illustrates a table 500 that can be stored in the storage device118 and maintained by the chat bot system 106. The table 500 can be usedas a reference for storing candidate metaphors for use during aninteraction between the chat bot system 106 and the user 102. The table500 is shown with headings of different types of information stored inthe table 500 and values for the headings are not shown for simplicity.FIG. 5 can show a portion of the table 500 for simplicity.

As shown in FIG. 5, the table 500 can organize information relating to acurrent state 502 of the interaction between the chat bot system 106 andthe user 102. For each possible current state 502 provided in the table500, a next state 504 (e.g., a desired next state) of the interactionbetween the chat bot system 106 and the user 102 can be listed. For eachcurrent state 502 and next state 504 pair, one or more candidatemetaphors can be stored. As shown in FIG. 5, a first metaphor 506 isshown and an nth metaphor 508 is shown, with the nth metaphor 508indicating than n different metaphors (where n is an integer) are listedfor a specific current state 502 and next state 504 pair.

As further shown in FIG. 5, each metaphor is associated with a value.For example, the first metaphor 506 is associated with a value 510 andthe nth metaphor 508 is associated with a value 512. The value 510 canrepresent a likelihood that the first metaphor 506, when used in amessage to the user 102, will result in the user 102 providingresponsive information that enables the chat bot system 106 to advanceresolution of the issue of the user 102 to the next state 504.Similarly, the value 512 can represent a likelihood that the nthmetaphor 508, when used in a message to the user 102, will result in theuser 102 providing responsive information that enables the chat botsystem 106 to advance the resolution of the issue of the user 102 to thenext state 504. In various embodiments, the chat bot system 106 canselect the metaphor having the highest corresponding likelihood value.

In various embodiments, the table 500 can be maintained across allcustomer groups. In various embodiments, the table 500 can be maintainedfor a specific customer group with other tables maintained for othercorresponding customer groups. The chat bot system 106 can adjust thestored values 510 and 512 based on the successful or unsuccessful use ofthe metaphors in an attempt to advance to any next state 504. Forexample, if the first metaphor 506 is used in a message to the user 102but is unsuccessful in extracting desired information from the user 102in a response that enables advancement to the next state 504, then thechat bot system 106 can reduce or decrease the stored value 510.Alternatively, if the first metaphor 506 is used in a message to theuser 102 and is successful in extracting desired information from theuser 102 in a response that enables advancement to the next state 504,then the chat bot system 106 can increase the stored value 510. In thismanner, the table 500 can be dynamically updated based on usage of thestored metaphors and then applied to other customers within a particularcustomer group.

In various embodiments, the table 500 can store a plurality of metaphorsfor each possible state transition and separate tables can beestablished for each customer group. The metaphors can include anyalternative words or phrases (e.g., pseudonyms or synonyms) used inreplace of other words or phrases. The metaphors can be used to mapbetween a conventional word or phrasing and the selected metaphor. Inthis way, conventional keywords, terms, or phrases of a menu system canbe translated to a specific metaphor. The metaphors can vary for eachcustomer group or can be stored in different manners between tables foreach customer group with different likelihood values.

In various embodiments, metaphors stored in the table 500 can beselected based on a statistical analysis of the possible metaphors—forexample, by selecting metaphors having the highest likelihood ofadvancing to a next desired problem resolution state that issequentially closer to the final state 408. In various embodiments, amachine learning model such as a recurrent neural network (RNN) can beused to develop a bank of stored metaphors that can be used and testedfor receptiveness by the user 102.

In various embodiments, metaphor data—for example, metaphor data storedin the table 500 or otherwise maintained and stored for use in anyembodiment disclosed herein—can be maintained in one or more relationallists. For example, a list can be maintained that relates common wordsor phrases to one or more metaphors that can be used in lieu of thecommon words or phrases. The common words or phrases can be informationor options stored as part of a menu system such that predeterminedalternative metaphors can be mapped to portions of the menu system. Inthis way, metaphors can be maintained and retrieved for use as analternative to certain menu words, phrases, options, or questions, forexample. As disclosed herein, the relational mapping for the metaphordata can be constructed prior to implementation of the chat bot system106, during implementation of the chat bot system 106 (e.g., built andmodified during implementation), or can be purchased or otherwiseacquired for use with the chat bot system 106. Further, relationalmapping for the metaphor data can be developed through machine learningas disclosed herein. In a similar manner, mapping from metaphor datafrom a user to related common words or phrases (e.g., as they may relateto a menu system) can also be implemented. As an example of either typeof mapping, search lists can be constructed and reviewed to translate acommon word, phrase, or question to a metaphor, or vice versa.

FIG. 6 illustrates an example of a logic flow 600 that may berepresentative of a chat bot system that uses metaphors during aninteraction with a user. For example, the logic flow 600 may berepresentative of operations that may be performed in variousembodiments by the chat bot system 106 in the operating environment 100of FIG. 1.

At 602, the chat bot system 106 can receive identification informationfor a customer or user 102 through a user interface of a computingdevice. The computing device can be the local device 104. In variousembodiments, the local device 104 can be associated with a specificcustomer such that the local device 104 can inform the chat bot system106 as to the identity of the customer 102 operating the local device104. In various embodiments, the local device 104 can storeidentification information for the customer 102 that is provided to thechat bot system 106. In various embodiments, the customer 102 canprovide identification information through a user interface provided bythe local device 104.

At 604, the chat bot system 106 can determine a customer group assignedto the customer 102. Data indicating the customer group assigned thecustomer 102 can be stored in the storage device 118. The chat botsystem 106 can determine the customer group assigned to the customer 102based on the on the received identification information for thecustomer.

At 606, the chat bot system 106 can determine an initial state of asequence for resolving an issue of the customer. In various embodiments,the customer 102 can initiate an interaction with the chat bot system106 to request resolution of a problem or issue. A process for resolvingthe problem or issue can be viewed or represented as a sequence of stepsor states, with a final state of the sequence representing resolution ofthe issue. The initial state can be an introductory state of interactionwhere the customer 102 simply engages the chat bot system 106. Invarious embodiments, the initial state can represent a state wherecertain information related to the user 102 issue or problem is relayedby the user 102. By determining the initial state, the chat bot system106 can then determine a next state within the sequence for resolvingthe issue that the chat bot system 106 may decide to advance to ifpossible and based on interaction with the user 102.

At 608, the chat bot system 106 can select a metaphor stored in thestorage device to include in a question that is to be provided to theuser 102. The metaphor can be selected based on the determined customergroup assigned to the customer 102 and the determined initial state ofthe sequence for resolving the issue of the customer 102. The questioncan be generated to request information from the customer 102 relatingto the issue of the customer 102. In various embodiments, in lieu of aquestion, the chat bot system can generate a statement that includes themetaphor.

At 610, the chat bot system can generate the question (or statement)with the question including the selected metaphor. The generatedquestion can be prepared for transmission to the user 102.

At 612, the generated question (or statement) that includes the selectedmetaphor can be provided to the customer 102 by the chat bot system 106.The generated question can be provided to the user 102 through the localdevice 104. In various embodiments, the generated question can beprovided to the user 102 as a textual message through the display 112 ofthe local device 104. In various embodiments, the generated question canbe provided to the user 102 as an auditory message through the speaker110 of the local device 104. At 612, the user 102 can also be promptedto respond to the provided question. The user 102 can then subsequentlyrespond to the generated question—either audibly or textually—to furtherinteraction between the user 102 and the chat bot system 106.

FIG. 7 illustrates an example of a logic flow 700 that may berepresentative of a chat bot system obtaining information from a user.For example, the logic flow 700 may be representative of operations thatmay be performed in various embodiments by the chat bot system 106 inthe operating environment 100 of FIG. 1.

At 702, the chat bot system 106 can receive a response to a questionprovided to the user 102 (e.g., the question provided at 612 of logicflow 600). The response can be provided by the user 102 through the userinterface provided by the local device 104. In various embodiments, theresponse can be provided as a textual message or as an auditory message.

At 704, the chat bot system 106 can review and process the receivedresponse. The chat bot system 106 can determine if the received responseincludes responsive information to advance the sequence for resolvingthe issue of the customer 102—for example, from a previously determinedinitial state to a next state, where the next state is sequentiallycloser to a final state of the sequence for resolving the issue of thecustomer.

At 706, if it is determined that the response from the user 102 includessufficient responsive information, then the chat bot system 106 canincrease a stored value associated with a metaphor that was selected tobe included in the question provided to the user 102 to which the user102 responded. The stored value associated with the selected metaphorcan represent a likelihood that the selected metaphor will cause theresponse of the user 102 to include responsive information for advancingthe sequence for resolving the issue of the customer 102 from thedetermined initial state to the next state.

At 708, if it is determined that the response from the user 102 does notinclude sufficient responsive information, then the chat bot system 106can decrease the stored value associated with the metaphor that wasselected to be included in the question provided to the user 102 towhich the user 102 responded.

FIG. 8 illustrates a storage medium 800. Storage medium 800 mayrepresent an implementation of the storage device 118. The storagemedium 800 can comprise any non-transitory computer-readable storagemedium or machine-readable storage medium. In various embodiments, thestorage medium 800 can comprise a physical article of manufacture. Invarious embodiments, storage medium 800 can store computer-executableinstructions, such as computer-executable instructions to implement oneor more of logic flows or operations described herein, such as the logicflow 600 of FIG. 6 and/or the logic flow 700 of FIG. 7. In variousembodiments, storage medium 800 can store computer-executableinstructions, such as computer-executable instructions to implement anyof the features or functions of any of the components described inFIG. 1. Examples of a computer-readable storage medium ormachine-readable storage medium can include any tangible media capableof storing electronic data. Examples of computer-executable instructionscan include any type of computer readable code.

FIG. 9 illustrates a computing architecture 900 that can implementvarious embodiments described herein. In various embodiments, thecomputing architecture 900 can comprise or be implemented as part of anelectronic device. In various embodiments, the computing architecture900 can represent an implementation of the local device 104 and/or thechat bot system 106. In various embodiments, the computing architecture900 can represent an implementation of the chat bot 106 for interactingwith the user 102

The computing architecture 900 can include various common computingelements, such as one or more processors, multi-core processors,co-processors, memory units, chipsets, controllers, peripherals,interfaces, oscillators, timing devices, video cards, audio cards,multimedia input/output (I/O) components, power supplies, and so forth.

As shown in FIG. 9, the computing architecture 900 can comprise acomputer 902 having a processing unit 904, a system memory 906 and asystem bus 908. The processing unit 904 can be any of variouscommercially available processors or can be a specially designedprocessor.

The system bus 908 provides an interface for system componentsincluding, but not limited to, an interface between the system memory906 and the processing unit 904. The system bus 908 can be any ofseveral types of bus structure that may further interconnect to a memorybus (with or without a memory controller), a peripheral bus, and a localbus using any of a variety of commercially available bus architectures.

The system memory 906 can include any type of computer-readable storagemedia including any type of volatile and non-volatile memory. Thecomputer 902 can include any type of computer-readable storage mediaincluding an internal (or external) hard disk drive (HDD) 914. Invarious embodiments, the computer 902 can include any other type of diskdrive such as, for example, a magnetic floppy disk and/or an opticaldisk drive. The HDD 914 can be connected to the system bus 908 by a HDDinterface 924.

In various embodiments, any number of program modules can be stored inthe drives and memory units 906 and/or 914 such as, for example, anoperating system 930, one or more application programs 932, otherprogram modules 934, and program data 936.

A user can enter commands and information into the computer 902 throughone or more wired/wireless input devices such as, for example, akeyboard 938 and a pointing device, such as a mouse 940. These and otherinput devices can be connected to the processing unit 904 through aninput device interface 942 that is coupled to the system bus 908. Amonitor 944 or other type of display device can also be connected to thesystem bus 908 via an interface, such as a video adaptor 946. Themonitor 944 may be internal or external to the computer 902.

The computer 902 may operate in a networked environment using logicalconnections via wired and/or wireless communications to one or moreremote computers, such as a remote computer 948. The remote computer 948can be a workstation, a server computer, a router, a personal computer,portable computer, microprocessor-based entertainment appliance, asmartphone, a tablet, a peer device or other common network node, andtypically includes many or all of the elements described relative to thecomputer 902. The logical connections depicted include wired and/orwireless connectivity to networks 952 such as, for example, a local areanetwork (LAN) and/or larger networks, for example, a wide area network(WAN). Networks 952 can provide connectivity to a global communicationsnetwork such as, for example, the Internet. A network adapter 956 canfacilitate wired and/or wireless communications to the networks 952. Thecomputer 902 is operable to communicate over any known wired or wirelesscommunication technology, standard, or protocol according to any knowncomputer networking technology, standard, or protocol.

FIG. 10 illustrates a block diagram of a communication architecture1000. The communication architecture 1000 can implement variousembodiments described herein. As shown in FIG. 10, the communicationarchitecture 1000 comprises one or more clients 1002 and servers 1004.The client 1002 can represent an implementation of the local device 104and/or use of the local device 104 to interact with the chat bot system106. One of the servers 1004 can represent an implementation of the chatbot system 106 and/or operation of the chat bot system 106 to interactwith the user 102 as described herein.

The client 1002 and the server 1004 can be operatively connected to aclient data store 1008 and a server data store 1010, respectively, thatcan be employed to store information local to the respective client 1002and server 1004. In various embodiments, the server 1004 can implementone or more of logic flows or operations described herein and/or any ofthe functions and features described in relation to chat bot system 106.

The client 1002 and the server 1004 can communicate data or otherinformation between each other using a communication framework 1006. Thecommunications framework 1006 can implement any known communicationstechnique or protocol. The communications framework 1006 can beimplemented as a packet-switched network (e.g., public networks such asthe Internet, private networks such as an enterprise intranet, and soforth), a circuit-switched network (e.g., the public switched telephonenetwork), or a combination of a packet-switched network and acircuit-switched network (with suitable gateways and translators), orany combination thereof. The communications framework 1006 can operateover any communication media according to any networking technologyincluding any wired or wireless communications standard or protocol, orany combination thereof.

The following set of examples pertain to further embodiments.

Example 1 is an apparatus comprising a storage device and logic, atleast a portion of the logic implemented in circuitry coupled to thestorage device, the logic to receive identification information for acustomer through a user interface of a computing device, determine acustomer group assigned to the customer and stored in the storage devicebased on the received identification information for the customer,determine an initial state of a sequence for resolving an issue of thecustomer, the sequence for resolving the issue of the customer includinga final state wherein the issue of the customer is resolved, select ametaphor stored in the storage device to include in a question based onthe determined customer group assigned to the customer and thedetermined initial state of the sequence for resolving the issue of thecustomer, the question requesting information from the customer relatingto the issue of the customer, generate the question, the question toinclude the selected metaphor, and provide the question including theselected metaphor to the customer and prompt the customer to respond tothe provided question, the question provided through at least one of anelectronic audio device and a display of the computing device.

Example 2 is an extension of Example 1 or any other example disclosedherein, the logic to receive a response to the provided question fromthe customer and to determine if the received response includesresponsive information to advance the sequence for resolving the issueof the customer from the determined initial state to a next state, thenext state sequentially closer to the final state of the sequence forresolving the issue of the customer.

Example 3 is an extension of Example 2 or any other example disclosedherein, the logic to increase a value associated with the selectedmetaphor when the received response includes responsive information toadvance the sequence for resolving the issue of the customer from thedetermined initial state to the next state, the value representing alikelihood of the selected metaphor for advancing the sequence forresolving the issue of the customer from the determined initial state tothe next state.

Example 4 is an extension of Example 3 or any other example disclosedherein, the logic to decrease the value associated with the selectedmetaphor when the received response does not include responsiveinformation to advance the sequence for resolving the issue of thecustomer from the determined initial state to the next state.

Example 5 is an extension of Example 4 or any other example disclosedherein, the logic to select the metaphor from a plurality of candidatemetaphors, each candidate metaphor assigned a value representing alikelihood of the candidate metaphor for advancing the sequence forresolving the issue of the customer from the determined initial state tothe next state.

Example 6 is an extension of Example 5 or any other example disclosedherein, the selected metaphor having a highest assigned value of theplurality of candidate metaphors.

Example 7 is an extension of Example 1 or any other example disclosedherein, the logic to assign the customer to the customer group based onat least one of demographic information of the customer, an educationlevel of the customer, and a prior interaction with the customer.

Example 8 is an extension of Example 1 or any other example disclosedherein, the logic to present the question to the customer in a textualmessage on the display of the computing device.

Example 9 is an extension of Example 1 or any other example disclosedherein, the logic to present the question to the customer in an auditorymessage through the electronic audio device.

Example 10 is a method comprising receiving identification informationfor a customer, determining a customer group assigned to the customerbased on the received identification information for the customer,determining an initial state of a sequence for resolving an issue of thecustomer, the sequence for resolving the issue of the customer includinga final state wherein the issue of the customer is resolved, determininga metaphor to include in a question based on the determined customergroup assigned to the customer and the determined initial state of thesequence for resolving the issue of the customer, the questionrequesting information from the customer relating to the issue of thecustomer, generating the question, the question to include the selectedmetaphor, providing the question including the selected metaphor to thecustomer, and requesting the customer to respond to the presentedquestion.

Example 11 is an extension of Example 10 or any other example disclosedherein, further comprising receiving a response from the customer to theprovided question.

Example 12 is an extension of Example 11 or any other example disclosedherein, further comprising determining if the received response includesresponsive information to advance the sequence for resolving the issueof the customer from the determined initial state to a next state, thenext state sequentially closer to the final state of the sequence forresolving the issue of the customer.

Example 13 is an extension of Example 12 or any other example disclosedherein, further comprising increasing a stored value corresponding tothe selected metaphor when the received response includes the responsiveinformation, the stored value representing a likelihood of the selectedmetaphor for advancing the sequence for resolving the issue of thecustomer from the determined initial state to the next state.

Example 14 is an extension of Example 13 or any other example disclosedherein, further comprising decreasing the stored value when the receivedresponse does not include the responsive information.

Example 15 is an extension of Example 10 or any other example disclosedherein, further comprising determining the metaphor from a plurality ofcandidate metaphors, each candidate metaphor assigned a valuerepresenting a likelihood of the candidate metaphor for advancing thesequence for resolving the issue of the customer from the determinedinitial state to the next state.

Example 16 is an extension of Example 15 or any other example disclosedherein, the determined metaphor having a highest assigned value of theplurality of candidate metaphors.

Example 17 is at least one non-transitory computer-readable mediumcomprising a set of instructions that, in response to being executed ona computing device, cause the computing device to receive identificationinformation for a customer, determine a customer group assigned to thecustomer based on the received identification information for thecustomer, determine an initial state of a sequence for resolving anissue of the customer, the sequence for resolving the issue of thecustomer including a final state wherein the issue of the customer isresolved, select a metaphor to include in a question based on thedetermined customer group assigned to the customer and the determinedinitial state of the sequence for resolving the issue of the customer,the question requesting information from the customer relating to theissue of the customer, generate the question, the question to includethe selected metaphor, and provide the question including the selectedmetaphor to the customer and prompt the customer to respond to thepresented question.

Example 18 is an extension of Example 17 or any other example disclosedherein, the computing device to select the metaphor from a set ofcandidate metaphors, each candidate metaphor corresponding to a storedvalue representing a likelihood for advancing the sequence for resolvingthe issue of the customer to a next state sequentially closer to thefinal state, the selected metaphor having the largest stored value ofthe set of candidate metaphors.

Example 19 is an extension of Example 17 or any other example disclosedherein, the computing device to present the question to the customer ina textual message.

Example 20 is an extension of Example 17 or any other example disclosedherein, the computing device to present the question to the customer inan auditory message.

Various embodiments described herein may comprise one or more elements.An element may comprise any structure arranged to perform certainoperations. Each element may be implemented as hardware, software, orany combination thereof. Any reference to “one embodiment” or “anembodiment” means that a particular feature, structure, orcharacteristic described in connection with the embodiment is includedin at least one embodiment. The appearances of the phrases “in oneembodiment,” “in some embodiments,” and “in various embodiments” invarious places in the specification are not necessarily all referring tothe same embodiment.

In various instances, for simplicity, well-known operations, components,and circuits have not been described in detail so as not to obscure theembodiments. It can be appreciated that the specific structural andfunctional details disclosed herein may be representative and do notnecessarily limit the scope of the embodiments.

Certain embodiments of the present invention were described above. Itis, however, expressly noted that the present invention is not limitedto those embodiments, but rather the intention is that additions andmodifications to what was expressly described herein are also includedwithin the scope of the invention. Moreover, it is to be understood thatthe features of the various embodiments described herein were notmutually exclusive and can exist in various combinations andpermutations, even if such combinations or permutations were not madeexpress herein, without departing from the spirit and scope of theinvention. In fact, variations, modifications, and other implementationsof what was described herein will occur to those of ordinary skill inthe art without departing from the spirit and the scope of theinvention. As such, the invention is not to be defined only by thepreceding illustrative description.

1. A system, comprising: storage configured to store a plurality ofgroups of customers, wherein each group of customers comprises relatedcustomers; and one or more processors to execute instructions, that whenexecuted cause the one or more processors to: process data receivedthrough a chat-bot interface from a user device, the data comprisingidentification information of a customer of the user device, and anissue or a question relating to a product or a service; determine acustomer group of the plurality of groups of customers based on the datareceived from the user device; generate a response comprising one ormore words to attempt to resolve the issue or the question; determine ametaphor to replace at least one word of the one or more words of theresponse based on the customer group; and provide the response to theuser device through the chat-bot interface, the response including themetaphor in place of the at least one word.
 2. The system of claim 1,the one or more processors to receive the data and provide the responsethrough the chat-bot interface in an audio format, a textual format, orcombination thereof.
 3. The system of claim 1, the one or moreprocessors to determine the metaphor for the response from a pluralityof candidate metaphors, each candidate metaphor assigned a correspondingvalue representing a likelihood of resolving the issue or the question,wherein the metaphor determined for the response having a highestassigned value of the plurality of candidate metaphors.
 4. The system ofclaim 1, the one or more processors to group the customer with othercustomers in the customer group based on at least one of demographicinformation of the customer, an education level of the customer, and aprior interaction with the customer.
 5. The system of claim 1, the oneor more processors to: receive additional data received through thechat-bot interface relating to the issue or the question; determinewhether the response resolved the issue or the question; and in responseto determining the response resolved the issue or the question, increasea value assigned to the metaphor; and in response to determining theresponse did not resolved the issue or the question, decrease the valueassigned to the metaphor.
 6. The system of claim 1, the storage to storemetaphor data including the metaphor, the metaphor data to includemappings between words and metaphors including a mapping between themetaphor and the at least one word.
 7. The system of claim 6, the one ormore processors to execute machine-learning operations to map the wordsto the metaphors to generate the metaphor data.
 8. Acomputer-implemented method, comprising: storing a plurality of groupsof customers, wherein each group of customers comprises relatedcustomers; receiving data through a chat-bot interface from a userdevice, the data comprising identification information of a customerassociated with the user device, and an issue or a question relating toa product or a service; determining a customer group of the plurality ofgroups of customers based on the data received from the user device;generating a response comprising one or more words to attempt to resolvethe issue or the question; determining a metaphor to replace at leastone word of the one or more words of the response based on the customergroup; and providing the response to the user device through thechat-bot interface, the response including the metaphor in place of theat least one word.
 9. The computer-implemented method of claim 8,comprising receiving the data and providing the response through thechat-bot interface in an audio format, a textual format, or combinationthereof.
 10. The computer-implemented method of claim 8, comprisingdetermining the metaphor for the response from a plurality of candidatemetaphors, each candidate metaphor assigned a corresponding valuerepresenting a likelihood of resolving the issue or the question,wherein the metaphor determined for the response having a highestassigned value of the plurality of candidate metaphors.
 11. Thecomputer-implemented method of claim 8, comprising grouping the customerwith other customers in the customer group based on at least one ofdemographic information of the customer, an education level of thecustomer, and a prior interaction with the customer.
 12. Thecomputer-implemented method of claim 8, comprising: receiving additionaldata received through the chat-bot interface relating to the issue orthe question; determining whether the response resolved the issue or thequestion; and in response to determining the response resolved the issueor the question, increasing a value assigned to the metaphor; and inresponse to determining the response did not resolved the issue or thequestion, decreasing the value assigned to the metaphor.
 13. Thecomputer-implemented method of claim 8, comprising storing metaphor dataincluding the metaphor, the metaphor data to include mappings betweenwords and metaphors including a mapping between the metaphor and the atleast one word.
 14. The computer-implemented method of claim 13,comprising executing, by one or more processors, machine-learningoperations to map the words to the metaphors to generate the metaphordata.
 15. At least one non-transitory computer-readable mediumcomprising a set of instructions that, in response to being executed ona computing device, cause the computing device to: process data receivedthrough a chat-bot interface from a user device, the data comprisingidentification information of a customer of the user device, and anissue or a question relating to a product or a service; determine acustomer group for the customer from a plurality of groups of customersbased on the data received from the user device; generate a responsecomprising one or more words to attempt to resolve the issue or thequestion; determine a metaphor to replace at least one word of the oneor more words of the response based on the customer group; and providethe response to the user device through the chat-bot interface, theresponse including the metaphor in place of the at least one word. 16.The at least one non-transitory computer-readable medium of claim 15,the computing device to receive the data and provide the responsethrough the chat-bot interface in an audio format, a textual format, orcombination thereof.
 17. The at least one non-transitorycomputer-readable medium of claim 15, the computing device to determinethe metaphor for the response from a plurality of candidate metaphors,each candidate metaphor assigned a corresponding value representing alikelihood of resolving the issue or the question, wherein the metaphordetermined for the response having a highest assigned value of theplurality of candidate metaphors.
 18. The at least one non-transitorycomputer-readable medium of claim 15, the computing device to group thecustomer with other customers in the customer group based on at leastone of demographic information of the customer, an education level ofthe customer, and a prior interaction with the customer.
 19. The atleast one non-transitory computer-readable medium of claim 15, thecomputing device to: receive additional data received through thechat-bot interface relating to the issue or the question; determinewhether the response resolved the issue or the question; and in responseto determining the response resolved the issue or the question, increasea value assigned to the metaphor; and in response to determining theresponse did not resolved the issue or the question, decrease the valueassigned to the metaphor.
 20. The at least one non-transitorycomputer-readable medium of claim 17, the computing device to: storemetaphor data including the metaphor, the metaphor data to includemappings between words and metaphors including a mapping between themetaphor and the at least one word; and execute machine-learningoperations to map the words to the metaphors to generate the metaphordata.